home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1994 January / InfoMagic Standards - January 1994.iso / inet / ietf / avt / 93mar.min < prev    next >
Text File  |  1993-05-13  |  17KB  |  393 lines

  1.  
  2. CURRENT_MEETING_REPORT_
  3.  
  4. Reported by Steve Casner/Information Sciences Institute
  5.  
  6. Minutes of Audio/Video Transport Working Group (AVT)
  7.  
  8. The AVT Working Group met for three sessions.  The first two sessions
  9. were used to discuss some open issues on the Draft specification for the
  10. Real-Time Transport Protocol (RTP); the third session was an
  11. ``implementors agreement'' session focusing on software video encoding.
  12.  
  13. Status of the Working Group and Review of the Draft RTP Specification
  14.  
  15. The goal of the AVT Working Group is to specify a set of experimental
  16. protocols for real-time transmission of audio and video.  The emphasis
  17. is short-term to promote experimentation now so that standards-track
  18. protocols can be developed based on what is learned.  The first Working
  19. Group meeting was a year ago, so one might expect a conclusion soon.  In
  20. fact, many issues were resolved during the last two IETF meetings and
  21. the specification is nearing readiness for submission as an RFC.
  22.  
  23. A set of four Internet-Drafts specifying the RTP protocol were issued in
  24. December 1992, and an Internet-Draft on packetization of H.261 coded
  25. video was issued in March, 1993.  In addition, RTP has been implemented
  26. to varying degrees in the following programs:
  27.  
  28.  
  29. IVS              Thierry Turletti and Christian Huitema
  30.  
  31. Maven            Charley Kline
  32.  
  33. NEVOT            Henning Schulzrinne
  34.  
  35. ``nv''           Ron Frederick
  36.  
  37. PictureWindow    Paul Milazzo and Bob Clements (an older draft)
  38.  
  39. PVP              Steve Casner
  40.  
  41.  
  42. This session began with a brief review of RTP. It consists primarily of
  43. protocol headers for real-time data packets, which is just eight octets
  44. long in the typical case.  RTP supports the following functions:
  45.  
  46.  
  47.    o Transfer of media data.
  48.    o Demultiplexing of multiple flows.
  49.    o Content identification (e.g., the media encoding used).
  50.    o Synchronization and sequencing.
  51.    o Options for simple control functions such as identification of
  52.      participants.
  53.  
  54.                                    1
  55.  
  56.  
  57.  
  58.  
  59.  
  60. Full details on the protocol are available in the Internet-Drafts, which
  61. are listed later in this document.
  62.  
  63. Discussion of Open Issues
  64.  
  65. A few open issues had developed since the last meeting and were
  66. discussed.  The primary items were:
  67.  
  68.  
  69.    o Elimination of IPv4 addresses carried within RTP.
  70.    o Separation of RTCP control functions not related to transport.
  71.    o Security services and mechanisms.
  72.  
  73.  
  74. These issues are expanded in the following paragraphs.  No roadblocks
  75. were identified, but resolution of some of the questions was left to
  76. email discussion.
  77.  
  78. The CSRC and SSRC options in the December RTP specification carried
  79. globally unique identifiers for the ``content source'' and
  80. ``synchronization source'' respectively, in data packets that have been
  81. processed through transport/application-level gateways such as audio
  82. mixers.  These globally unique identifiers were based on IPv4 addresses,
  83. but this is not acceptable considering the impending transition to a
  84. next-generation IP. Therefore, the Group considered two revision
  85. choices:
  86.  
  87.  
  88.   1. Use a (type, length, value) triple to allow any form of address to
  89.      be carried.
  90.   2. Carry only a 16-bit or 32-bit identifier that is locally unique to
  91.      the gateway that inserts the option, and then define the mapping to
  92.      a globally unique address, or other information, through an
  93.      extended SDESC (source description) option or a higher-layer
  94.      protocol.
  95.  
  96.  
  97. Since the CSRC and SSRC options may be carried in every data packet for
  98. some flows, the long addresses in the first choice might impose an
  99. uncomfortably large overhead.  Furthermore, the Group recognized that
  100. the locally unique identifier is sufficient for an RTP receiver to
  101. distinguish the source and process the packet; it is only necessary to
  102. map to a globally unique address or user name for purposes of
  103. monitoring, control, and user interface.  Therefore, the second choice
  104. was selected, and it was generally agreed that 16 bits would be
  105. sufficient because the identifiers are unique only with respect to the
  106. full source address of the gateway (network address plus UDP port, for
  107. example).
  108.  
  109. Mapping of the identifiers to other information, such as the name of a
  110. conference participant, should be accomplished through a higher-layer
  111. control protocol.  Note that the gateway entities must be involved in
  112. that protocol, but this would be true even if globally unique addresses
  113.  
  114.                                    2
  115.  
  116.  
  117.  
  118.  
  119.  
  120. were used since the addresses include port numbers to allow more than
  121. one entity per host.  One way to accomplish the mapping is through the
  122. Source Description (SDESC) option in the RTP control ``sub-protocol''
  123. RTCP. The SDESC option includes the 16-bit identifier plus one or more
  124. items to which it is mapped.  Examples include the user name, as before,
  125. and various forms of globally unique addresses.
  126.  
  127. A full address must also be specified for the return of RTP reverse
  128. control packets containing options such as the Quality of Service
  129. Measurement (QOS) option.  In the December Draft, a return port number
  130. was specified in the Content Description (CDESC) option, but it was
  131. agreed that a full address is required because the return information
  132. may go to the content or synchronization source or to third party
  133. monitoring host.  Furthermore, it was suggested that the return address
  134. be separated into its own option because it may be desirable to
  135. establish a return address without defining a new content type or
  136. redefining an old one.  One problem is that the sender and receiver of
  137. the reverse control information may be using different forms of
  138. addressing, for example IPv4 and SIP or PIP. This problem extends beyond
  139. RTP, and its solution will depend on IPng transition plans.  Two
  140. solutions the Group has considered are to use a DNS name or to allow
  141. multiple forms of binary address to be specified.
  142.  
  143. Some members of the Working Group objected to including within the RTP
  144. specification those RTCP options unnecessary for transport functions.
  145. However, it seems impractical to split off a few pages of RTCP option
  146. definitions into another RFC. It was agreed to keep the RTCP options
  147. within the RTP specification as a separate section with appropriate
  148. disclaimers about these functions being replaced by higher-layer control
  149. protocols when they are available.
  150.  
  151. The RTP specification Draft includes a brief Security Considerations
  152. section, but the protocol will be inadequate for teleconferencing
  153. applications, at least for confidentiality of voice communication,
  154. without access to some security mechanisms.  In the future, it may be
  155. possible to depend on security mechanisms at the IP layer, but for
  156. near-term use, possibly including experimentation with new security
  157. mechanisms specifically for real-time applications, the Group believes
  158. it is appropriate to define security mechanisms at the RTP layer.
  159.  
  160. Stuart Stubblebine made a presentation reviewing the security services
  161. and mechanisms that might be needed for applications that use RTP. The
  162. most needed services are confidentiality and integrity of the payload,
  163. and authentication of the source.  Integrity is considered separately
  164. for individual packets and for the stream of packets.  A set of three
  165. new RTP options was proposed to implement these security services:
  166.  
  167.  
  168.    o ENC, to indicate the start point for encryption and carry the
  169.      initialization parameters;
  170.  
  171.    o MIC, which may be used with a variety of security schemes, for
  172.      example to carry a Message Integrity Check; and
  173.  
  174.  
  175.                                    3
  176.  
  177.  
  178.  
  179.  
  180.  
  181.    o KDEF, an RTCP option to define key identifiers.
  182.  
  183.  
  184. Details of these security options will be found in a new Draft of the
  185. RTP specification to be released in mid-May.
  186.  
  187. In addition to the major topics, the Group also discussed a request from
  188. Frank Hoffmann for two additions to the protocol to allow higher
  189. reliability levels of service.  The first was that a checksum option be
  190. provided for use when RTP is carried over ST-II, which does not provide
  191. a checksum.  However, there is a problem with carrying a checksum in an
  192. option:  an error in the header may make it appear that there is no
  193. checksum option, so the checksum would not be checked and the error
  194. would not be detected.  Also, it is inconvenient that an RTP-level
  195. reflector from ST-II to IP/UDP would have to check and remove the
  196. checksum option to avoid presenting the UDP destination with two
  197. potentially conflicting checksums.  As an alternative, it is suggested
  198. that there be a separate specification for an encapsulation of RTP in
  199. ST-II that would include a checksum.  That encapsulation might define a
  200. service like that of UDP over IP.
  201.  
  202. The second request was for an option to request retransmission to
  203. implement a ``reliable'' class of service.  It is expected that most
  204. real-time applications will not want to incur the delay imposed by
  205. retransmission.  A generic retransmission function probably does not
  206. make sense in RTP, but reverse control options can be used to request
  207. retransmission in an application-specific manner when appropriate.  For
  208. example, negative acknowledgements are defined in the INRIA H.261
  209. packetization protocol Draft.  For those applications that want to use
  210. the services of RTP but do require reliable delivery, RTP can be
  211. transported in a TCP stream.
  212.  
  213. One final topic that the Group did not have time to discuss adequately
  214. was how RTP profiles should be defined and used.  Would it be reasonable
  215. to include as part of a profile definition that the RTP framing field
  216. would always be included in order to allow multiple RTP PDUs to be
  217. assembled into, for example, one UDP packet?  The Group has also not
  218. defined how the selection of a particular profile will be identified for
  219. applications that can operate with more than one profile.  More work is
  220. needed on this topic.
  221.  
  222. ``Implementors Agreement'' Session
  223.  
  224. The third Working Group session was devoted to an ``implementors
  225. agreement'' discussion to promote convergence and interoperation among
  226. the software video compression programs being developed.
  227.  
  228. At the previous meeting, it was observed that the tight coupling between
  229. the video frame grabbing procedure and the encoding process might mean
  230. that it would be infeasible to define an API between these two steps.
  231. However, Ron Frederick has observed that the coupling between software
  232. decoding and the display process can be much more flexible.  Therefore,
  233. it may be feasible to achieve interoperation by allowing each hardware
  234.  
  235.                                    4
  236.  
  237.  
  238.  
  239.  
  240.  
  241. and software platform to encode and transmit data in its native format,
  242. but to incorporate multiple decode routines using a common API so that
  243. each program can decode many or all of the other programs' native
  244. formats.
  245.  
  246. Ron Frederick gave a presentation on the implementation of a decoder API
  247. in version 3.0 of the ``nv'' program.  Decoding and rendering of the
  248. image data and decoupled:  ``nv'' does all the network I/O, RTP
  249. processing, and X window system interaction; the image decode routines
  250. just convert each packet of compressed bits into uncompressed pixels for
  251. a portion of the image.  When the ``S'' bit (end of synchronization
  252. unit) is set in the RTP header, ``nv'' will display the new image on the
  253. screen.  This scheme allows support for multiple display depths,
  254. brightness/contrast mapping, and image scaling with simultaneous display
  255. of multiple sizes.  Three decoders have been incorporated into ``nv'' to
  256. process video from ``nv'', from the hardware Bolter codec, and from the
  257. Cornell CU-SeeMe program.
  258.  
  259. Christian Huitema identified a problem with the ``nv'' API when he
  260. described the H.261 encoding in the IVS program and the complexity that
  261. results from a combination of image structure and Huffman encoding of
  262. the image coefficients.  There is a lot of state information implicit in
  263. the decoding process in the middle of processing ``group of blocks''
  264. (GOB). Since one GOB may occupy more than one packet, it might be
  265. infeasible to try to save and restore the state at the boundary between
  266. packets so that control could be returned across the API from a decode
  267. routine.  Therefore, IVS uses the ``S'' bit to indicate the GOB boundary
  268. so that all of the packets of a GOB can be handed together to the decode
  269. routine.
  270.  
  271. This conflict in the interpretation of the ``S'' bit will have to be
  272. resolved to allow interoperation of ``nv'' and IVS. It was suggested
  273. that IVS is using the ``S'' bit for a transport function, whereas ``nv''
  274. is using it for a presentation function, and therefore the former is
  275. correct.  Ron said ``nv'' could be modified to get the display-image
  276. indication as a return valued from the decode routine, so this may be
  277. the solution.
  278.  
  279. Paul Milazzo has implemented color video transmission in the BBN
  280. PictureWindow program.  Paul proposed that the YCrCb color encoding from
  281. the CCIR 601 digital video standard be used as the color representation
  282. for software encoding.  This is similar to the YUV analog encoding.  The
  283. proposed scheme would keep the luminance (Y) pixels in one array, and
  284. chrominance (CrCb or UV) pixel pairs, subsampled by 2 in the X
  285. dimension, in another array.  Because of the subsampling, the two arrays
  286. would be the same size.  This scheme allows easy rendering into
  287. monochrome or color images.
  288.  
  289. Further Working Group Activities
  290.  
  291. A set of Internet-Drafts on RTP was issued in December 1992:
  292.  
  293.  
  294.  
  295.                                    5
  296.  
  297.  
  298.  
  299.  
  300.  
  301.    o draft-ietf-avt-rtp-00.txt
  302.    o draft-ietf-avt-encoding-00.txt
  303.    o draft-ietf-avt-profile-00.txt
  304.    o draft-ietf-avt-issues-00.ps, .txt
  305.  
  306.  
  307. The first Draft is the specification of the real-time transport protocol
  308. itself.  The second and third Drafts define a set of media encodings and
  309. a sample profile for use of those encodings to implement audio and video
  310. multiparticipant conferences with minimal control.  The last Draft is an
  311. updated discussion of the issues and decisions involved in the design of
  312. the protocol.
  313.  
  314. Revised Drafts incorporating changes discussed at this meeting will be
  315. issued in May.  After review and possible further revision, it is
  316. expected that the Internet-Drafts will be submitted for approval as RFCs
  317. in June, completing the Working Group's Charter.
  318.  
  319. Attendees
  320.  
  321. Lou Berger               lberger@bbn.com
  322. Larry Blunk              ljb@merit.edu
  323. John Boatright           bryan_boatright@ksc.nasa.gov
  324. Erik-Jan Bos             erik-jan.bos@surfnet.nl
  325. Monroe Bridges           monroe@cup.hp.com
  326. Sandy Bryant             slb@virginia.edu
  327. Stephen Casner           casner@isi.edu
  328. Yee-Hsiang Chang         yhc@hpl.hp.com
  329. William Chimiak          chim@relito.medeng.wfu.edu
  330. Richard Cogger           R.Cogger@cornell.edu
  331. David Conklin            conklin@jvnc.net
  332. Simon Coppins            coppins@arch.adelaide.edu.au
  333. Mark Davis-Craig         mad@merit.edu
  334. Shane Dawalt             sdawalt@desire.wright.edu
  335. Steve DeJarnett          steve@ibmpa.awdpa.ibm.com
  336. Tony DeSimone            tds@hoserve.att.com
  337. Ed Ellesson              ellesson@vnet.ibm.com
  338. Chip Elliott             celliot@bbn.com
  339. Hans Eriksson            hans@sics.se
  340. Francois Fluckiger       fluckiger@vxcern.cern.ch
  341. Paul Franchois           paulf@bldrdoc.gov
  342. Ron Frederick            frederick@parc.xerox.com
  343. Jerry Friesen            jafries@sandia.llnl.gov
  344. Marcello Frutig          frutig@rnp.impa.br
  345. Gwen Funchess            funchess@magnus.acs.ohio-state.edu
  346. Joseph Godsil            jgodsil@ncsa.uiuc.edu
  347. Fengmin Gong             gong@concert.net
  348. Kenneth Goodwin          goodwin@a.psc.edu
  349. Mark Green               markg@apple.com
  350. Robert Gutierrez         gutierre@nsipo.nasa.gov
  351. Don Hoffman              hoffman@eng.sun.com
  352. Frank Hoffmann           hoffmann@dhdibm1.bitnet
  353. Christian Huitema        christian.huitema@sophia.inria.fr
  354.  
  355.                                    6
  356.  
  357.  
  358.  
  359.  
  360.  
  361. Phil Irey                pirey@relay.nswc.navy.mil
  362. Ronald Jacoby            rj@sgi.com
  363. Peter Kirstein           P.Kirstein@cs.ucl.ac.uk
  364. Charley Kline            cvk@uiuc.edu
  365. Lakshman Krishnamurthy   lakashman@ms.uky.edu
  366. Giri Kuthethoor          giri@ms.uky.edu
  367. Paul Lambert             paul_lambert@email.mot.com
  368. Ruth Lang                rlang@nisc.sri.com
  369. Ronald Lanning           lanning@netltm.cats.ohiou.edu
  370. Yu-Lin Lu                yulin@hpinddu.cup.hp.com
  371. Marjo Mercado            marjo@cup.hp.com
  372. Donald Merritt           Don@brl.mil
  373. Paul Milazzo             milazzo@bbn.com
  374. Joseph Pang              pang@bodega.stanford.edu
  375. Geir Pedersen            Geir.Pedersen@usit.uio.no
  376. Jim Rees                 jim.rees@umich.edu
  377. Michael Safly            saf@tank1.msfc.nasa.gov
  378. Carl Schoeneberger       70410.3563@Compuserve.com
  379. Eve Schooler             schooler@isi.edu
  380. Stuart Stubblebine       stubblebine@isi.edu
  381. Sally Tarquinio          sallyt@gateway.mitre.org
  382. Craig Todd               ctodd@desire.wright.edu
  383. Claudio Topolcic         topolcic@cnri.reston.va.us
  384. Hung Vu                  hungv@fonorola.com
  385. Huyen Vu                 vu@polaris.disa.mil
  386. Abel Weinrib             abel@bellcore.com
  387. John Wroclawski          jtw@lcs.mit.edu
  388. Yow-Wei Yao              yao@chang.austin.ibm.com
  389.  
  390.  
  391.  
  392.                                    7
  393.